Changelog
v1.4.3
mpi4py is now optional, and only required for MPI simulations.
v1.4.2
Update build server to new jenkins.
v1.4.1
Merge develop and master for new public version.
v1.4.0
Update to python3.11.
Update dependencies of qtealeaves and qredtea accordingly.
v1.3.3
Fixing bug with statevector retrieval in the case 20<num_qubits<30.
Fixing consistency of “time” and “measurement_time” observables between Qiskit and Qcircuit.
Preparing for next public release of qtealeaves.
Fixes for cpu+gpu mode.
Disabling tensor compiler by default option (due to issues in some very specific cases).
v1.3.2
Special handling for linter removed.
v1.3.1
License copyright update and year update
v1.3.0
Removing Fortran backend.
Removing strawberryfields circuit interface, since it was dependent on the Fortran backend.
v1.2.7
Fixed bug in the documentation requirements.
v1.2.6
Fixed bug in the documentation deployment.
v1.2.5
Introduced isort and unittest for checking its usage.
v1.2.4
Implementing completeness test of examples in unittest.
v1.2.3
Fix MPI unittests
Update qtealeaves, operators could not be pickled in MPI send.
Udpdate qredtea, e.g., tensorflow bugfix vacuumstate.
Excluding next minor from setup.py and requirements.txt, i.e., >=X.Y.Z,<X.Y+1.0
v1.2.2
Remove references to .ops in operators.
v1.2.1
Fix import of _AbstractTN (has been moved inside qtealeaves).
Update version of dependencies qtealeaves and qredtea.
Disable unittest on greedy probabilities.
Update versions of linter and black.
v1.2.0
Implemented different tensor classes
QCBackend now has its own file
Update to qiskit 1.0.0
v1.1.4
Fixed the AbstractTN import bug.
v1.1.3
Solved bug for running fortran parallel simulations
v1.1.2
Fix wrong merge, updating qtealeaves version
v1.1.1
Docs Bugfix
Update to latest patched qtealeaves
v1.1.0
Stable version in master
v1.0.2
Added a MPISetting class to select the type of isometrization you want to use when running in parallel with mpi;
Bugfix for MPI approach.
v1.0.1
Added benchmarks
The qmatchatea Qcircuit class can now be passed to run_simulation
Implemented application of MPOs, i.e. general multi-qubit gates, to the emulator
Now you can pass the entire mpi_command for fortran parallel simulations, using QCBackend(mpi_command=[“mpirun”, “something_else”]).
Greatly enhanced examples;
Bugfix for python mpi;
Simplified save/read results for the SimulationResults class. The methods Changed name for consistency, save_results -> save_pickle, load_results -> read_pickle.
v1.0.0
Removed mock_fortran simulation, now the simulation in python does not write the inputs in the same fashion of a fortran simulation
Updated to the v1.0.0 of qtealeaves, using tensors
Created utils folder
Implemented automatic selection of device
Implemented automatic selection of precision
Implemented automatic selection of svd decomposition
Parallel execution of the MPS across multiple processes is now possible in python
Implemented checkpoints in python
Implemented mid-circuit measurements in python
Added memory tracker in simulations
v0.5.2
Implemented pypi installation.
Bugfix for documentation not showing online.
Improved and updated documentation.
Bugfix for save_result(), load_result() methods of simulation_results class.
v0.4.13
Updated examples to current version
The examples are now run during the unittests, and gives an error if they do not run.
v0.4.12
Bugfix for checkpoints construction and default folder (now inside the default simulation folder )
Bugfix for the tensor compiler
v0.4.11
Bugfix construction nml file with checkpoints.
Adapt logic initial state.
Export py_quantum_matcha_tea/tests folder in conan recipe.
v0.4.10
QcMps is renamed in QCEmulator since now it can accept different TN ansatzes
Added new argument ansatz in QCBackend to select which ansatz (either MPS or TTN). The TTN anstaz only works on python cpu at the moment.
Removed postprocessing with quantum registers of the bond entropy because it does not make sense with the new description of the bond entorpy
Added example to test the difference in performances between TTNs and MPS
singval_mode is renamed to trunc_tracking_mode
v0.4.9
Fixed bug due to argparse when launching run_simulation from jupyter noteboos.
Changed path of the _get_layered_instruction function such that it works even with the latest qiskit
Removed num_clbits argument from QcMps since it was useless and caused errors.
Added Pauli operators (“X”, “Y”, “Z”) as default in QCOperators.
Added a new utility class SimpleHamiltonian to make it easier to create WeightedSum observables. In the future a SimpleHamiltonian will be directly passed to the observables.
Added the computation of the lower bound of the fidelity in the results
Changed the default for the singval_mode from M to C, that is better
v0.4.8
Added VQE optimization example
v0.4.7
Allow passing command line arguments to be parsed by argparse to run simulation method, which is necessary if consuming package has its own argparse.
v0.4.6
Fixed requirements and warnings
Fixed bug in random_quantum_circuit.py example
Added notice in the README based on cupy installation
v0.4.5
Update dependency of qtealeaves to v0.4.8
v0.4.4
Update dependency of qtealeaves.
Comment sphinx gallery due to problems in CI/CD
v0.4.3
Link to documentation on public repository.
v0.4.2
Added mirroring to public repository
v0.4.1
Implemented black formatter for the code, plus pre-commit hooks
v0.4.0
Execute update from tn_py_frontend v0.3.32 to qtealeaves v0.4.2 which requires renaming all imports and breaks backwards compatibility.
v0.3.5
Solved bug in the generation of the docs due to sphinxgallery
Introduced the new QCBackend class to select the backend of the simulation
v0.3.4
Implemented classically controlled gates from a qiskit circuit
Implemented initial state for qiskit simulations
Implemented tensor compiler for qiskit circuits
Added example for the convergence study
Added GPY approach, which implement a GPU backend through cupy. The presence of a GPU/cupy is not mandatory.
Added MPI example, fixed bug in the MPI data parallel approach
v0.3.2
Fixed path for TNConvergenceParameters following tn_py_frontend
Fixed path error when working with serial approach
v0.3.1
Fixing naming issues for qmatchatea
Add integration tests
v0.3.0
Renamed in qmatchatea
Fixed bug when using the unittest from an interactive interface after the addition of argparse
Fixed bug for which the name of the input file was not appended when using parallel fortran approach
Deleted lines that resulted in an error, that previously were meant for debug
v0.2.3
Added QCircuit class Circuit
Added example on how to use the Qcircuit class
Added support for custom operations on the quantum circuit, with also intermediate observables measurements QCOperations
v0.2.2
Added possibility of installing with the fortran executables, by running the
installer.pyfile.Updated the README to take into account the above possibility
Added the possibility of using command line arguments that overwrites the approach and the executable used in the simulation at runtime, if the
run_simulation()function is used.
v0.2.1
Improved documentation
Added examples and sphinx gallery
v0.2.0
Moved observables from qcomps to tn_py_frontend
All measurable quantities are now observables
Removed the possibility of performing projective measurement directly from the interface, you now need to use an observable.
Removed the possibility of measuring the entanglement directly from the interface, you now need to use an observable.
Removed the possibility of performing statevector measurement directly from the interface, you now need to use an observable and save the MPS state. From that state you can compute the statevector